// ==========================================================================
// GFast自动生成service操作代码。
// 生成日期：2024-04-24 10:28:09
// 生成路径: internal/app/business/service/venues.go
// 生成人：周志雄
// desc:演出场馆
// company:云南奇讯科技有限公司
// ==========================================================================

package service

import (
	"context"
	"github.com/tiger1103/gfast/v3/api/v1/business"
	"github.com/tiger1103/gfast/v3/internal/app/business/model"
)

type IVenues interface {
	List(ctx context.Context, req *business.VenuesSearchReq) (res *business.VenuesSearchRes, err error)
	GetById(ctx context.Context, Id int) (res *model.VenuesInfoRes, err error)
	Add(ctx context.Context, req *business.VenuesAddReq) (err error)
	Edit(ctx context.Context, req *business.VenuesEditReq) (err error)
	Delete(ctx context.Context, Id []int) (err error)
	GetSeatsById(ctx context.Context, req *business.GetSeatsByVenueIdReq) (res *business.GetSeatsByVenueIdRes, err error)
}

var localVenues IVenues

func Venues() IVenues {
	if localVenues == nil {
		panic("implement not found for interface IVenues, forgot register?")
	}
	return localVenues
}

func RegisterVenues(i IVenues) {
	localVenues = i
}
